www.gusucode.com > VC 串口通讯_数据库存取例子-源码程序 > VC 串口通讯_数据库存取例子-源码程序/code/Modem3/Modem3Dlg.cpp

    //Download by http://www.NewXing.com
// Modem3Dlg.cpp : implementation file
//

#include "stdafx.h"
#include "Modem3.h"
#include "Modem3Dlg.h"
#include "BehaoDialog.h"
#include "ListDialog.h"
#include "JxDialog.h"
#include "ZhiLengDialog.h"
#include "ZhiReDialog.h"
#include "TimeDialog.h"
#include "RongyebengDialog.h"
#include "LishiDialog.h"
#include "JiebingDialog.h"
#include "BuchangDialog.h"
#include "ReshueiDialog.h"
#include "NenghaoDialog.h"
#include "ShineijiDialog.h"
#include <math.h>

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

UINT CModem3Dlg:: ThreadFunc(LPVOID pParam)   //辅助线程
 {
 
 ((CModem3Dlg*)pParam)->communcation(); 
 ((CModem3Dlg*)pParam)->addRecordset();
  return 0;
}

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	public:
	//virtual BOOL OnChildNotify(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pLResult);
	//virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
	//virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult);
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CModem3Dlg dialog

CModem3Dlg::CModem3Dlg(CWnd* pParent /*=NULL*/)
	: CDialog(CModem3Dlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CModem3Dlg)
	m_ktsin = 0.0f;
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	int i;
	m_hIcon = AfxGetApp()->LoadIcon(IDI_ICON14);
    m_brush1.CreateSolidBrush(RGB(255,0,0));
	m_brush2.CreateSolidBrush(RGB(255,255,255));
	m_brush3.CreateSolidBrush(RGB(125,125,125));
	m_brush4.CreateSolidBrush(RGB(0,235,0));
    m_high=0;
	add=0;
	abb=0;
	m_kzfs=0;
    m_gzzt=0;
	ye1=ye2=0;
	m_str="拨号";
	draw_flag=0;
	send_flag=0;
	send_over=1;
	send_owner=1;
	shiwaiji_owner_no=1;
	shineiji_owner_no=1;
	reshueiguan_owner_no=1;
	shiwaiji_xuanze=1;
	time_over=0;
	m_count=0;
	m_long=0;
	receive_flag=0;
	for(i=0;i<16;i++)
		a_flag[i]=0;

    m_ktkbut.button_flag=0;

    m_ktgbut.button_flag=0;
	
    m_rskbut.button_flag=0;

	m_rsgbut.button_flag=0;
	
    m_resetflag=0;
	m_reset.SetFlag(0);

	for(i=0;i<16;i++)
		b_flag[i]=255;
	send_timer=0;
m_Minute=0;

	//缓冲区发送完标志
}

void CModem3Dlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CModem3Dlg)
	DDX_Control(pDX, IDC_STATICPBSF, m_pbsf);
	DDX_Control(pDX, IDC_STATICPPSF, m_ppsf);
	DDX_Control(pDX, IDC_STATICPLRF, m_plrf);
	DDX_Control(pDX, IDC_STATICPLJF, m_pljf);
	DDX_Control(pDX, IDC_STATICPRSRSJ, m_prsrsj);
	DDX_Control(pDX, IDC_STATICPRSB, m_prsb);
	DDX_Control(pDX, IDC_STATICPRSJ, m_prsj);
	DDX_Control(pDX, IDC_STATICPRYB, m_pryb);
	DDX_Control(pDX, IDC_STATICPLQFJ, m_plqfj);
	DDX_Control(pDX, IDC_STATICPLJB, m_pljb);
	DDX_Control(pDX, IDC_STATICPZKB, m_pzkb);
	DDX_Control(pDX, IDC_STATICPLQB, m_plqb);
	DDX_Control(pDX, IDC_STATICPKTSB, m_pktsb);
	DDX_Text(pDX, IDC_KTSIN, m_ktsin);
	DDX_Control(pDX, IDC_KTKBUT,     m_ktkbut);
	DDX_Control(pDX, IDC_KTGBUT,     m_ktgbut);
    DDX_Control(pDX, IDC_RSKBUT,     m_rskbut);
	DDX_Control(pDX, IDC_RSGBUT,     m_rsgbut);
	DDX_Control(pDX, IDC_RESET,      m_reset);
    DDX_Control(pDX, IDC_ZHILENG,     m_zhileng);
	DDX_Control(pDX, IDC_ZHIRE,      m_zhire);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CModem3Dlg, CDialog)
	//{{AFX_MSG_MAP(CModem3Dlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_WM_CTLCOLOR()
	ON_COMMAND(ID_BEHAO, OnBehao)
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_LSGZ, OnLsgz)
	ON_COMMAND(ID_ZJTS, OnZjts)
	ON_UPDATE_COMMAND_UI(ID_ZJTS, OnUpdateZjts)
	ON_UPDATE_COMMAND_UI(ID_BJTS, OnUpdateBjts)
	ON_COMMAND(ID_AUTO, OnAuto)
    ON_BN_CLICKED(IDC_KTSBOPEN,OnKtsbopen)
	ON_BN_CLICKED(IDC_KTSBCLOSE,OnKtsbclose)
	ON_BN_CLICKED(IDC_LQBDISUOPEN,OnLqbdisuopen)
	ON_BN_CLICKED(IDC_LQBCLOSE,OnLqbclose)
    ON_BN_CLICKED(IDC_LQFJDISUOPEN,OnLqfjdisuopen)
	ON_BN_CLICKED(IDC_LQFJCLOSE,OnLqfjclose)
    ON_BN_CLICKED(IDC_LJBOPEN,OnLjbopen)
	ON_BN_CLICKED(IDC_LJBCLOSE,OnLjbclose)
    ON_BN_CLICKED(IDC_ZKBOPEN,OnZkbopen)
	ON_BN_CLICKED(IDC_ZKBCLOSE,OnZkbclose)
    ON_BN_CLICKED(IDC_RYBOPEN,OnRybopen)
	ON_BN_CLICKED(IDC_RYBCLOSE,OnRybclose)
	ON_UPDATE_COMMAND_UI(ID_AUTO, OnUpdateAuto)
	ON_COMMAND(ID_HELP, OnHelp)
	ON_COMMAND(ID_SHIWAIJI2, OnShiwaiji2)
	ON_COMMAND(ID_SHIWAIJI1, OnShiwaiji1)
	ON_COMMAND(ID_SHINEI, OnShinei)
	ON_COMMAND(ID_JXCS, OnJxcs)
	ON_COMMAND(ID_COOL, OnCool)
	ON_COMMAND(ID_BJTS, OnBjts)
	ON_COMMAND(ID_HOT, OnHot)
	ON_COMMAND(ID_TIMING, OnTiming)
	ON_COMMAND(ID_RONGYEBENG, OnRongyebeng)
	ON_COMMAND(ID_LISHIKONGTIAO, OnLishikongtiao)
	ON_COMMAND(ID_LISHIRESHUEI, OnLishireshuei)
	ON_COMMAND(ID_JIEJING, OnJiejing)
	ON_COMMAND(ID_BUCHANG, OnBuchang)
	ON_COMMAND(ID_RESHUEI, OnReshuei)
	ON_COMMAND(ID_NENGHAO, OnNenghao)
	ON_WM_SIZE()
	ON_BN_CLICKED(IDC_KTKBUT, OnKtkbut)
	ON_WM_CREATE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CModem3Dlg message handlers

BOOL CModem3Dlg::OnInitDialog()
{
	CDialog::OnInitDialog();
    
	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);
    CToolBarCtrl tb;
	tb.Create(WS_CHILD |WS_VISIBLE,CRect(0,0,2000,1000),this,ID_TOOLB);
	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}
  
	/************************************************************/
	    short	shBtnColor = 30;
         
		   
    m_zhileng.SetIcon(IDI_ICON17);
	m_zhileng.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
	m_zhire.SetIcon(IDI_ICON18);
	m_zhire.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
   

  /*********************************************************************************/
        //创建MSCOMM控件
        DWORD style=WS_VISIBLE|WS_CHILD;
	    if(!m_Com.Create(NULL,style,CRect(0,0,0,0),this,IDC_MSCOMM2))
		{
			 return -1;
		}
      //初始化串口
       m_Com.SetCommPort(1);        //选择COM1口
	   if(!m_Com.GetPortOpen())
	   m_Com.SetPortOpen(TRUE);     //打开串口
       m_Com.SetRThreshold(1);      //
	   m_Com.SetSThreshold(1);
	   m_Com.SetInputMode(1);  
/*****************************图标************************/
       for(int i=0;i<8;i++)
	   {
        m_hIcon1[i]=AfxGetApp()->LoadIcon(IDI_ICON1+i);
	   }
      
	   m_hIcon2[0]=AfxGetApp()->LoadIcon(IDI_ICON9);
	   m_hIcon2[1]=AfxGetApp()->LoadIcon(IDI_ICON10);
	  
	   m_hIcon3[0]=AfxGetApp()->LoadIcon(IDI_ICON11);
	   m_hIcon3[1]=AfxGetApp()->LoadIcon(IDI_ICON12);
	  
	   CDC * pDCC=this->GetDC();
	   CFont* newFont;
	   newFont=new CFont();
	   newFont->CreatePointFont(180,"宋体",pDCC);
       GetDlgItem(IDC_TIT)->SetWindowText("Modem——未接");
	   GetDlgItem(IDC_TIT)->SetFont(newFont);
	   ReleaseDC(pDCC);
    // Set the icon for this dialog.  The framework does this automatically
    //  when the application's main window is not a dialog
/**********************************************************************/
   
/*****************************ADO数据库*****************************/
		m_pRecord.CreateInstance("ADODB.Recordset");
		m_pRecord->Open("SELECT * FROM 空调",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
/*******************************************************************/
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CModem3Dlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CModem3Dlg::OnPaint() 
{    
	 draw_flag=0;
     ye1=0;
	 ye2=0;
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CModem3Dlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

HBRUSH CModem3Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

	switch(pWnd->GetDlgCtrlID())
	{

		   
	  case IDC_STATICGAOFAYEWEI: 
	  case IDC_STATICLJYW:
		  
		               pDC->SetBkMode(TRANSPARENT);
		               hbr=m_brush2;
		               break;
					   
	  case IDC_STATICKONGTIAO:
	  case IDC_STATICRSQ:
	  case IDC_STATICGUZHANG:
		               pDC->SetTextColor(RGB(0,0,0));
		               pDC->SetBkMode(TRANSPARENT);
		               hbr=m_brush3;
		                break;
	  case IDC_STATICGUZHANG1:
	  case IDC_STATICGUZHANG2:
	  case IDC_STATICBAOJING:
	  case IDC_STATICYUJING:
	  case IDC_STATICRSGZ:
		               pDC->SetTextColor(RGB(0,0,0));
		               pDC->SetBkMode(TRANSPARENT);
		               hbr=m_brush3;
					   break;
	  case IDC_TIT:
	                
		              pDC->SetTextColor(RGB(0,0,0));
		              pDC->SetBkMode(TRANSPARENT);
		               hbr=m_brush1;
					   break;
	  case IDC_GZ11:
	  case IDC_GZ12:
	  case IDC_GZ13:
	  case IDC_GZ14:
	  case IDC_GZ15:
	  case IDC_GZ16:
	  case IDC_GZ17:
	  case IDC_GZ18:
	  case IDC_GZ21:
	  case IDC_GZ22:
	  case IDC_GZ23:
	  case IDC_GZ24:
	  case IDC_GZ25:
	  case IDC_GZ26:
	  case IDC_GZ27:
	  case IDC_BJ11:
	  case IDC_BJ12:
	  case IDC_BJ13:
	  case IDC_BJ14:
	  case IDC_BJ15:
	  case IDC_BJ16:
	  case IDC_BJ17:
	  case IDC_BJ18:
	  case IDC_YJ11:
	  case IDC_YJ12:
	  case IDC_YJ13:
	  case IDC_YJ14:
	  case IDC_YJ15:
	  case IDC_YJ16:
	  case IDC_YJ17:
	  case IDC_YJ18:
		      if(draw_flag==1)
			  {
              pDC->SetTextColor(RGB(0,0,0));
	          pDC->SetBkMode(TRANSPARENT);
	          hbr=m_brush1;
			  }
		 break;
	  case IDC_RSBOPEN:
	  case IDC_RSBCLOSE:
	  case IDC_RSJXIAOHUO:
	  case IDC_RSJDAHUO:
	  case IDC_RSJSTOP:
		  
               if(draw_flag==1)
			   {
               pDC->SetTextColor(RGB(0,0,0));
	           pDC->SetBkMode(TRANSPARENT);
	           hbr=m_brush1;
			   }
	 	       break;
	 
		}
	return hbr;
}

void CModem3Dlg::OnBehao() 
{
	// TODO: Add your command handler code here
	UINT i;
	CBehaoDialog dlg;
    i=dlg.DoModal();
    if(i==IDOK)
	{ 
	   if(m_str=="挂断")
		  {
		   
           CDC * pDCC=this->GetDC();
		   CFont* newFont;
		   newFont=new CFont();
		   newFont->CreatePointFont(180,"宋体",pDCC);
           GetDlgItem(IDC_TIT)->SetWindowText("BCT16——制冷");
		   GetDlgItem(IDC_TIT)->SetFont(newFont);
		   ReleaseDC(pDCC);
           SetTimer(1,400,NULL);
            CMenu* m_Menu=this->GetMenu();
            m_Menu->ModifyMenu(ID_ZJTS,MF_UNCHECKED,ID_ZJTS,"整机调试");
            m_Menu->ModifyMenu(ID_BJTS,MF_UNCHECKED,ID_BJTS,"部件调试");
            m_Menu->ModifyMenu(ID_AUTO,MF_CHECKED,ID_AUTO,"自动运行");
			m_Menu->ModifyMenu(ID_SHIWAIJI1,MF_CHECKED,ID_SHIWAIJI1,"1#室外机");

		 }
	   else if(m_str=="拨号")
	   {
		   KillTimer(1);
		 
	   }
     
	}
	
}

void CModem3Dlg:: addRecordset()
{  
	_variant_t  m_Tim,m_Ktr,m_Ktc,m_Gfwd,m_Gfyw,m_Ktsb,m_Lqb,m_Lqfj,m_Ryb,m_Zkb,m_Ktrsj;
    int i;
	m_Time=COleDateTime::GetCurrentTime();
	i=m_Time.GetMinute();
	if(i!=m_Minute)
	{
	m_Minute=i;
    m_Tim=m_Time;
	m_Ktr=(float)30;
	m_Ktc=(float)60;
	m_Gfwd=(float)45;
	m_Gfyw="2#";
	m_Ktsb="开";
	m_Lqb="低速";
	m_Lqfj="中速";
	m_Ryb="开";
	m_Zkb="开";
	m_Ktrsj="小火";
    m_pRecord->AddNew();
    m_pRecord->PutCollect("历史时间",m_Tim);
     m_pRecord->PutCollect("空调水入口",m_Ktr);
     m_pRecord->PutCollect("空调水出口",m_Ktc);
     m_pRecord->PutCollect("高发温度",m_Gfwd);
    m_pRecord->PutCollect("高发液位",m_Gfyw);
     m_pRecord->PutCollect("空调水泵",m_Ktsb);
    m_pRecord->PutCollect("冷却泵",m_Lqb);
     m_pRecord->PutCollect("冷却风机",m_Lqfj);
    m_pRecord->PutCollect("溶液泵",m_Ryb);
     m_pRecord->PutCollect("真空泵",m_Zkb);
    m_pRecord->PutCollect("空调燃烧机",m_Ktrsj);
     
	}
  
	  
}
//通讯处理
void CModem3Dlg::communcation()
{   
	
	
	 if(send_flag==1)
	      immediate_communcation();          //及时查寻
	  else
          gongkuang_communcation();          //工况查寻
	 receive();                              //数据接受
	 data_dealwith();

}
void CModem3Dlg::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
     time_over++;
	 if(time_over>1000)
		 time_over=0;
	 AfxBeginThread(ThreadFunc,(LPVOID)this);      //启动工作者线程                    //工况数据处理
	 CDialog::OnTimer(nIDEvent);
}
void CModem3Dlg::immediate_communcation(void)
{       
	     int i;
        if(send_over==1)                           //上一命令已发送完
		{   
			send_over=0;
			send_timer++;
			if(send_timer>3)  
			{
		      send_flag=0;
			  send_timer=0;
			}
		    switch(send_data[3])
			{
		      case  0x01: //室外机发送次数
				  if(shiwaiji_send_timer[send_data[4]-1]>1000)
					  shiwaiji_send_timer[send_data[4]-1]=0;
				   else
				      shiwaiji_send_timer[send_data[4]-1]++;      
				  break;
			  case  0x02: //室内机发送次数
				    if(shineiji_send_timer[send_data[4]-1]>1000)
						shineiji_send_timer[send_data[4]-1]=0;
					else
					    shineiji_send_timer[send_data[4]-1]++;
					break;
			  case  0x04: //热水罐发送次数
				    if(reshueiguan_send_timer[send_data[4]-1]>1000)
						reshueiguan_send_timer[send_data[4]-1]=0;
					else
						reshueiguan_send_timer[send_data[4]-1]++;
					break;
			}
				   
			
	      
	       CByteArray array;
	       array.RemoveAll();
            array.SetSize(50);
	       for(i = 0; i < 50; i++)
           array.SetAt(i, send_data[i]);
		   m_Com.SetOutput(COleVariant(array));
		   
		}
		
}
void CModem3Dlg::gongkuang_communcation()
{   
	int i;
    unsigned char  Tx_data[100];          //        
    if(send_over==1)
	{
        send_over=0;
	    switch(send_owner)
		{    
         
	       case 1:   /*   室外机查寻 ( 工况和故实时故障) */
			  switch(shiwaiji_command_no)
			  {
			     case 1:                      //工况查寻
			          Tx_data[0]=0xf7;
	                  Tx_data[1]=0xf8;
	                  Tx_data[2]=0x04;
	                  Tx_data[3]=0x01;
	                  Tx_data[4]=shiwaiji_owner_no;
	                  Tx_data[5]=0x10;
	                  Tx_data[6]=0x00;
	                  for( i=2;i<6;i++)
	                  Tx_data[6]+=Tx_data[i];
	                  Tx_data[7]=0xfd;
                      shiwaiji_send_timer[shiwaiji_owner_no-1]++;
	                  shiwaiji_command_no++;
				      break;
				 case 2:               //实时故障
					  Tx_data[0]=0xf7;
					  Tx_data[1]=0xf8;
					  Tx_data[2]=0x04;
					  Tx_data[3]=0x01;
					  Tx_data[4]=shiwaiji_owner_no;
					  Tx_data[5]=0x11;
					  Tx_data[6]=0x00;
					  for(i=2;i<6;i++)
						  Tx_data[6]+=Tx_data[i];
					  Tx_data[7]=0xfd;
                       shiwaiji_send_timer[shiwaiji_owner_no-1]++;
	                  shiwaiji_command_no++;
				 case 3:
					  Tx_data[0]=0xf7;
					  Tx_data[1]=0xf8;
					  Tx_data[2]=0x04;
					  Tx_data[3]=0x01;
					  Tx_data[4]=shiwaiji_owner_no;
					  Tx_data[5]=0x0A;
					  Tx_data[6]=0x00;
					  for(i=2;i<6;i++)
						  Tx_data[6]+=Tx_data[i];
					  Tx_data[7]=0xfd;
                      shiwaiji_send_timer[shiwaiji_owner_no-1]++;
					  shiwaiji_command_no=1;
                      shiwaiji_owner_no++;    //室外机发送所有权增加
					  break;
			  }
			                   //
			    if(shiwaiji_owner_no>=3)
				{   
				send_owner=2;
				shiwaiji_owner_no=1;
				}
			break;
			
	  case  2:                           //室内机工况查寻
	         Tx_data[0]=0xf7;
             Tx_data[1]=0xf8;
             Tx_data[2]=0x04;
             Tx_data[3]=0x02;
             Tx_data[4]=shineiji_owner_no;
             Tx_data[5]=0x27;
             Tx_data[6]=0x00;
              for(i=2;i<6;i++)
	         Tx_data[6]+=Tx_data[i];
             Tx_data[7]=0xfd;
             shineiji_send_timer[shineiji_owner_no-1]++;
             shineiji_owner_no++;
             if(shineiji_owner_no>=80)
			 {
			  shineiji_owner_no=1;
	         send_owner=3;
			 }
	         break;
     case 3:                    //热水罐工况查寻

          Tx_data[0]=0xf7;
          Tx_data[1]=0xf8;
          Tx_data[2]=0x04;
          Tx_data[3]=0x04;
          Tx_data[4]=reshueiguan_owner_no;
          Tx_data[5]=0x29;
          Tx_data[6]=0x00;
          for(i=2;i<6;i++)
	        Tx_data[6]+=Tx_data[i];
          Tx_data[7]=0xfd;
          reshueiguan_send_timer[reshueiguan_owner_no-1]++;
          reshueiguan_owner_no++;
          if(reshueiguan_owner_no>=17)
		  {
	       send_owner=1;
           reshueiguan_owner_no=1;
		  }
		  break;
		}

  	CByteArray array;
	array.RemoveAll();
	array.SetSize(8);
    for(i = 0; i < 8; i++)
    array.SetAt(i, Tx_data[i]);
	m_Com.SetOutput(COleVariant(array));
	}
}
void CModem3Dlg::OnOnCommMscomm2() 
{
     // TODO: Add your control notification handler code here
	VARIANT vResponse;
	int nEvent;
    nEvent=m_Com.GetCommEvent();
	switch(nEvent)
	{
      case 1:
		    send_over=1;
		    break;
 	  case 2:
		   vResponse=m_Com.GetInput();
		   receive_data[m_count]=vResponse.bVal;
		   switch(m_count)
		   {
		   case 0:
			     if(receive_data[0]==0xf7)   m_count++;
				 else   m_count=0;
			     break;
		   case 1:
			     if(receive_data[1]==0xf8)    m_count++;
				 else  m_count=0;
			     break;
		   case 2:
			     m_long=receive_data[2]+4;
				 if(m_long>60)     m_count=0;
				 else                m_count++;
				 break;
		   default:
			     m_count++;
				 break;
		   }
		   if(m_count>=m_long&&m_long>0)
		   {   receive_flag=1;
			   m_long=0;
			   m_count=0;
		   }
	}

}	

void CModem3Dlg::receive(void)
{    
   	int i,sum;
    if(receive_flag==1)                              //数据收完
	 {   
	   receive_flag=0;
	   for(i=2;i<receive_data[2]+2;i++)
	      sum+=receive_data[i];
	   if(sum!=receive_data[receive_data[2]+2])      //校验和   
	      return;
	    
		switch(receive_data[5])
			  {
			    case 0x10:                              //室外机工况
					 for(i=0;i<receive_data[2]+4;i++)
                      shiwaiji_gongkuang[receive_data[4]-1][i]=receive_data[i];
					  shiwaiji_send_timer[receive_data[4]-1]=0;
					  break;
				case 0x11:
					  for(i=0;i<receive_data[2]+4;i++)  //室外机故障
                      shiwaiji_guzhang[receive_data[4]-1][i]=receive_data[i];
					  shiwaiji_send_timer[receive_data[4]-1]=0;
					  break;
				case 0x0A:
					   m_gzzt=receive_data[7]&&0x03;
                       shiwaiji_send_timer[receive_data[4]-1]=0;
					   break;
				case 0x27:                              //室内机工况
					   for(i=0;i<receive_data[2]+4;i++)
                       shineiji_gongkuang[receive_data[4]-1][i]=receive_data[i];
					   shineiji_send_timer[receive_data[4]-1]=0;
					   break;
				case 0x29:
					  for(i=0;i<receive_data[2]+4;i++)
                      reshueiguan_gongkuang[receive_data[4]-1][i]=receive_data[i];
					  reshueiguan_send_timer[receive_data[4]-1]=0;
					  break;
				default:
					  for(i=0;i<receive_data[2]+4;i++)
                      //immediate_data[receive_data[4]-1][i]=receive_data[i]; 
					  send_timer=0;         //清除立即查寻的发送次数
					  send_flag=0;          //清除立即查寻的发送标志
					  break;
				
		} 
	   
		
				receive_flag=0;
	 }
}
void CModem3Dlg::data_dealwith()
{ 
	 unsigned char j;
	 CString str;
/*	 for(i=2;i<rx_data[2]+4-2;i++)
		 sum+=rx_data[i];
	 if(sum==rx_data[rx_data[2]+2])
	 {
		 switch(rx_data[5])
		 {
		 case 0x10:                                       //室外机工况
			   if(rx_data[4]==shiwaiji_xuanze)
			   {
			   */                                
				 parameter_dealwith();      //工况参数
                 auto_dealwith();           //自动运行       
				 zb_dealwith();             //数据显示之部件       
                 guzhang_dealwith();        //数据显示之故障       
	                          
	                 
            
			 
			 //液位更新
    CWnd* pWnd=	GetDlgItem(IDC_STATICGAOFAYEWEI);  
	CDC * pDCC=pWnd->GetDC();
    CBrush newbrush(RGB (140, 255, 120));
	j=shiwaiji_gongkuang[shiwaiji_xuanze][31]&0x1e;
	 
	 
	 
     	switch(j)
		{
	    case 0x02:
		      m_high=25;
		      break;
	    case 0x04:
		      m_high=50;
		      break;
    	case 0x08:
		    m_high=75;
		    break;
	    case 0x10:
		    m_high=100;
		    break;
	    default:
	    	m_high=0;
	    	break;
		}
    
    if(ye1!=j)
	{
    ye1=j;
    pWnd->Invalidate();
    pWnd->UpdateWindow();
    CBrush * oldbrush=pDCC->SelectObject(&newbrush);
    pDCC->Rectangle(0,100-m_high,50,100);
    pDCC->SelectObject(oldbrush);
    pWnd->ReleaseDC(pDCC);
	}
    

    j=shiwaiji_gongkuang[shiwaiji_xuanze][32]&0x07;
	
	 
	switch(j)
	{
	case 0x01:
		 m_high=40;
		 break;
	case 0x02:
		 m_high=80;
		 break;
	case 0x04:
		 m_high=125;
		 break;
	default:
		m_high=0;
		break;
	}
	if(ye2!=j)
	{ye2=j;
    pWnd=GetDlgItem(IDC_STATICLJYW);
    pDCC=pWnd->GetDC();
    pWnd->Invalidate();
    pWnd->UpdateWindow();
	CBrush newbrush2(RGB(123,222,125));
    CBrush* oldbrush2=pDCC->SelectObject(&newbrush2);
    pDCC->Rectangle(0,125-m_high,68,125);
    pDCC->SelectObject(oldbrush2);
    pWnd->ReleaseDC(pDCC);
	}
	
		j=shiwaiji_gongkuang[shiwaiji_xuanze][31]&&0x20;
		if(j==0x20)
			GetDlgItem(IDC_DFYW)->SetWindowText("满");
		else
			GetDlgItem(IDC_DFYW)->SetWindowText("未满");
		j=shiwaiji_gongkuang[shiwaiji_xuanze][31]&&0x40;
          if(j==0x40)
			GetDlgItem(IDC_CQYW)->SetWindowText("满");
		else
			GetDlgItem(IDC_CQYW)->SetWindowText("未满"); 
       	j=shiwaiji_gongkuang[shiwaiji_xuanze][31]&&0x80;
          if(j==0x80)
			GetDlgItem(IDC_LQSYW)->SetWindowText("满");
		else
			GetDlgItem(IDC_LQSYW)->SetWindowText("未满"); 
	

                  
						   
                  ///按纽更新处理					  
                  m_ktkbut.button_flag=1;
			      m_ktkbut.InvalidateRect(FALSE);
				  m_rskbut.button_flag=1;
                  m_rskbut.InvalidateRect(FALSE);
				 if(shiwaiji_guzhang[shiwaiji_xuanze][7]!=0||shiwaiji_guzhang[shiwaiji_xuanze][8]!=0||shiwaiji_guzhang[shiwaiji_xuanze][9]!=0||shiwaiji_guzhang[shiwaiji_xuanze][11]!=0||shiwaiji_guzhang[shiwaiji_xuanze][12]!=0)
				  {   
					   if(m_resetflag==0)
					   {m_resetflag=1;
				       m_reset.SetFlag(0);
					   }
					   else
					   {
						   m_resetflag=0;
						   m_reset.SetFlag(1);
					   }
				   }
				  else
					m_reset.SetFlag(1);
				  m_reset.InvalidateRect(FALSE);


				  //菜单更新
				  CMenu* m_Menu=this->GetMenu();
				  if(m_gzzt!=2)     //zhuyi
				  {
				   m_Menu->ModifyMenu(ID_ZHILENG,MF_CHECKED,ID_ZHILENG,"制冷");
                   m_Menu->ModifyMenu(ID_ZHIRE,MF_UNCHECKED,ID_ZHIRE,"制热");
				  }
				  else if(m_gzzt==2)
				  {
					 m_Menu->ModifyMenu(ID_ZHILENG,MF_UNCHECKED,ID_ZHILENG,"制冷");
                   m_Menu->ModifyMenu(ID_ZHIRE,MF_CHECKED,ID_ZHIRE,"制热");
				  }
				  
             
				  }
			/* }                
			    break;
		 }
	 } */
   
void CModem3Dlg::parameter_dealwith(void)
{	
	 float	sumed;
	 CString str;
                               
				   if(shiwaiji_gongkuang[shiwaiji_xuanze][8]>=128)
					  sumed=-(float(((shiwaiji_gongkuang[shiwaiji_xuanze][8]-128)*256+shiwaiji_gongkuang[shiwaiji_xuanze][7])))/2;
				   else
					  sumed=(float(shiwaiji_gongkuang[shiwaiji_xuanze][8]*256+shiwaiji_gongkuang[shiwaiji_xuanze][7]))/2;
				   if(sumed!=a_flag[0])
				   {
				    a_flag[0]=sumed;
                    str.Format("%.1f",sumed);
					GetDlgItem(IDC_KTSIN)->SetWindowText(str);
				   }
                       

				     if(shiwaiji_gongkuang[shiwaiji_xuanze][10]>=128)
					   sumed=-(float(((shiwaiji_gongkuang[shiwaiji_xuanze][10]-128)*256+shiwaiji_gongkuang[shiwaiji_xuanze][9])))/2;
				     else 
					   sumed=(float(shiwaiji_gongkuang[shiwaiji_xuanze][10]*256+shiwaiji_gongkuang[shiwaiji_xuanze][9]))/2;
					  if(sumed!=a_flag[1])
					  {
					 a_flag[1]=sumed;
                     str.Format("%.1f",sumed);
				   	 GetDlgItem(IDC_KTSEX)->SetWindowText(str);
					  }


					if(shiwaiji_gongkuang[shiwaiji_xuanze][12]>=128)
						sumed=-(float(((shiwaiji_gongkuang[shiwaiji_xuanze][12]-128)*256+shiwaiji_gongkuang[shiwaiji_xuanze][11])))/2;
					 else
						sumed=(float(shiwaiji_gongkuang[shiwaiji_xuanze][12]*256+shiwaiji_gongkuang[shiwaiji_xuanze][11]))/2;
					 if(sumed!=a_flag[2])
					 {
						 a_flag[2]=sumed;
                     str.Format("%.1f",sumed);
					 GetDlgItem(IDC_LQSIN)->SetWindowText(str);
					 }
                    


					 if(shiwaiji_gongkuang[shiwaiji_xuanze][14]>=128)
						 sumed=-(float(((shiwaiji_gongkuang[shiwaiji_xuanze][14]-128)*256+shiwaiji_gongkuang[shiwaiji_xuanze][13])))/2;
					  else
						  sumed=(float(shiwaiji_gongkuang[shiwaiji_xuanze][14]*256+shiwaiji_gongkuang[shiwaiji_xuanze][13]))/2;
					   if(sumed!=a_flag[3])
					   {
						a_flag[3]=sumed;
                       str.Format("%.1f",sumed);
					   GetDlgItem(IDC_LQSEX)->SetWindowText(str);
					   }
					   
					   if(shiwaiji_gongkuang[shiwaiji_xuanze][16]>=128)
						  sumed=-(float(((shiwaiji_gongkuang[shiwaiji_xuanze][16]-128)*256+shiwaiji_gongkuang[shiwaiji_xuanze][15])));
				       else
						   sumed=(float(shiwaiji_gongkuang[shiwaiji_xuanze][16]*256+shiwaiji_gongkuang[shiwaiji_xuanze][15]));
					   if(sumed!=a_flag[4])
					   {
						a_flag[4]=sumed;
                       str.Format("%.1f",sumed);
					   GetDlgItem(IDC_GAOFA)->SetWindowText(str);
					   }

					   if(shiwaiji_gongkuang[shiwaiji_xuanze][18]>=128)
						   sumed=-(float(((shiwaiji_gongkuang[shiwaiji_xuanze][18]-128)*256+shiwaiji_gongkuang[shiwaiji_xuanze][17])))/2;
					   else
						   sumed=(float(shiwaiji_gongkuang[shiwaiji_xuanze][18]*256+shiwaiji_gongkuang[shiwaiji_xuanze][17]))/2;
					   if(a_flag[5]!=sumed)
					   {
						a_flag[5]=sumed;
                        str.Format("%.1f",sumed);
					    GetDlgItem(IDC_HUANJING)->SetWindowText(str);
					   }

					   if(shiwaiji_gongkuang[shiwaiji_xuanze][20]>=128)
						    sumed=-(float(((shiwaiji_gongkuang[shiwaiji_xuanze][20]-128)*256+shiwaiji_gongkuang[shiwaiji_xuanze][19])));
				       else
						   sumed=(float(shiwaiji_gongkuang[shiwaiji_xuanze][20]*256+shiwaiji_gongkuang[shiwaiji_xuanze][19]));
					    if(sumed!=a_flag[6])
						{a_flag[6]=sumed;
                        str.Format("%.1f",sumed);
					    GetDlgItem(IDC_PAIQI)->SetWindowText(str);
						}

                        if(shiwaiji_gongkuang[shiwaiji_xuanze][22]>=128)
						 sumed=-(float(((shiwaiji_gongkuang[shiwaiji_xuanze][22]-128)*256+shiwaiji_gongkuang[shiwaiji_xuanze][21])))/2;
					    else
						   sumed=(float(shiwaiji_gongkuang[shiwaiji_xuanze][22]*256+shiwaiji_gongkuang[shiwaiji_xuanze][21]))/2;
						if(sumed!=a_flag[7])
						{
							a_flag[7]=sumed;
                         str.Format("%.1f",sumed);
					     GetDlgItem(IDC_RESHUEI)->SetWindowText(str);
						}

						if(shiwaiji_gongkuang[shiwaiji_xuanze][24]>=128)
							sumed=-(float(((shiwaiji_gongkuang[shiwaiji_xuanze][24]-128)*256+shiwaiji_gongkuang[shiwaiji_xuanze][23])))/2;
						else
							sumed=(float(shiwaiji_gongkuang[shiwaiji_xuanze][24]*256+shiwaiji_gongkuang[shiwaiji_xuanze][23]))/2;
						if(sumed!=a_flag[8])
						{
							a_flag[8]=sumed;
                         str.Format("%.1f",sumed);
					     GetDlgItem(IDC_KTSC)->SetWindowText(str);
						}

						if(shiwaiji_gongkuang[shiwaiji_xuanze][25]>=128)
							sumed=-float((shiwaiji_gongkuang[shiwaiji_xuanze][25]-128));
						else
						sumed=shiwaiji_gongkuang[shiwaiji_xuanze][25];
						if(a_flag[9]!=sumed)
						{
						  a_flag[9]=sumed;
						  str.Format("%.1f",sumed);
					      GetDlgItem(IDC_GLMK)->SetWindowText(str);
						}

						 sumed=shiwaiji_gongkuang[shiwaiji_xuanze][26];
						 if(sumed!=a_flag[10])
						 {
						a_flag[10]=sumed;
                        str.Format("%.1f",sumed);
					    GetDlgItem(IDC_DQDY)->SetWindowText(str);
						 }

						  sumed=float(shiwaiji_gongkuang[shiwaiji_xuanze][27]/4);
						  if(sumed!=a_flag[11])
						  {
						   a_flag[11]=sumed;
						   str.Format("%.1f",sumed);
					       GetDlgItem(IDC_RYBP)->SetWindowText(str);
						  }
						  
						  sumed=float(shiwaiji_gongkuang[shiwaiji_xuanze][29]/4);
						  if(sumed!=a_flag[12])
						  {
						 a_flag[12]=sumed;
                          str.Format("%.1f",sumed);
					      GetDlgItem(IDC_LQBPL)->SetWindowText(str);
						  }
						  sumed=float(shiwaiji_gongkuang[shiwaiji_xuanze][30]/4);
						  if(sumed!=a_flag[13])
						  {
						 a_flag[13]=sumed;
                         str.Format("%.1f",sumed);
					     GetDlgItem(IDC_LQFJPL)->SetWindowText(str);
						  }
 }
void CModem3Dlg::auto_dealwith(void)                 //数据显示之自动运行
{       
           CString str;
		   int i;
	                 if(m_kzfs==0)               
					 {
		                 if(add>7)
	                     add=0;
                         if(abb>1)
	                     abb=0;
						
						 i=shiwaiji_gongkuang[shiwaiji_xuanze][33]&0x03;
                         GetDlgItem(IDC_RSJ)->GetWindowText(str);
						 switch(i)
						 {
						 case 0:
							 
							 if(str!="停机")
							 GetDlgItem(IDC_RSJ)->SetWindowText("停机");
							 break;
						 case 1:
							 if(str!="小火")
							 GetDlgItem(IDC_RSJ)->SetWindowText("小火");
                             m_prsj.SetIcon(m_hIcon1[abb]);
							 break;
						 case 3:
							 if(str!="大火")
                             GetDlgItem(IDC_RSJ)->SetWindowText("大火");
                          
                             m_prsj.SetIcon(m_hIcon1[abb]);
							 break;
						 }
                         
	          
						 i=shiwaiji_gongkuang[shiwaiji_xuanze][33]&0x04;
						 GetDlgItem(IDC_KTSB)->GetWindowText(str);
						 switch(i)
						 {
						 case 0:
							 if(str!="停止")
								GetDlgItem(IDC_KTSB)->SetWindowText("停止");
							 break;
						 case 0x04:
							  if(str!="运行")
							  GetDlgItem(IDC_KTSB)->SetWindowText("运行");
						
							   m_pktsb.SetIcon(m_hIcon1[add]);
							  break;
						 }
					     
			
						 i=shiwaiji_gongkuang[shiwaiji_xuanze][33]&0x18;
						 GetDlgItem(IDC_LQB)->GetWindowText(str);
						 switch(i)
						 {
						 case 0:
							 if(str!="停止")
								 GetDlgItem(IDC_LQB)->SetWindowText("停止");
							     break;
						 case 0x08:
							   if(str!="低速")
								GetDlgItem(IDC_LQB)->SetWindowText("低速");
							    
							     m_plqb.SetIcon(m_hIcon1[add]);
							   break;
						 case 0x18:
							   if(str!="高速")
								   GetDlgItem(IDC_LQB)->SetWindowText("高速");
							       m_plqb.SetIcon(m_hIcon1[add]);
							   break;
						 }
					  	 
						 i=shiwaiji_gongkuang[shiwaiji_xuanze][33]&0x60;
						 GetDlgItem(IDC_LQFJ)->GetWindowText(str);
						 switch(i)
						 {
						 case 0:
							 if(str!="停止")
								 GetDlgItem(IDC_LQFJ)->SetWindowText("停止");
							     break; 
						 case 0x20:
							   if(str!="低速")
								GetDlgItem(IDC_LQFJ)->SetWindowText("低速");
                               m_plqfj.SetIcon(m_hIcon1[add]);
							   break;
						 case 0x40:
							   if(str!="中速")
							    GetDlgItem(IDC_LQFJ)->SetWindowText("中速");
							    m_plqfj.SetIcon(m_hIcon1[add]);
							    break;
						 case 0x60:
							   if(str!="高速")
							    GetDlgItem(IDC_LQFJ)->SetWindowText("高速");
							    m_plqfj.SetIcon(m_hIcon1[add]);
							    break;
						 }
                         
						 i=shiwaiji_gongkuang[shiwaiji_xuanze][33]&0x80;
						 GetDlgItem(IDC_LJB)->GetWindowText(str);
						 switch(i)
						 {
						 case 0:
							 if(str!="停止")
							  GetDlgItem(IDC_LJB)->SetWindowText("停止");
							  break;
						 case 0x80:
							  if(str!="运行")
							  GetDlgItem(IDC_LJB)->SetWindowText("运行");
                              m_pljb.SetIcon(m_hIcon1[add]);
							  break;
						 }
						 
						 i=shiwaiji_gongkuang[shiwaiji_xuanze][34]&0x03;
						 GetDlgItem(IDC_LRF)->GetWindowText(str);
						 switch(i)
						 {
						 case 0:
							  if(str!="正开")
							  GetDlgItem(IDC_LRF)->SetWindowText("正开");
							  break;
						 case 1:
							  if(str!="开")
							  GetDlgItem(IDC_LRF)->SetWindowText("开");
							  m_plrf.SetIcon(m_hIcon3[1]);
							  break;
						 case 2:
							  if(str!="关")
							  GetDlgItem(IDC_LRF)->SetWindowText("关");
                              m_plrf.SetIcon(m_hIcon3[0]);
							  break;
						 case 3:
							  if(str!="正关")
							  GetDlgItem(IDC_LRF)->SetWindowText("正关");
							  break;

						 }

						 i=shiwaiji_gongkuang[shiwaiji_xuanze][34]&0x04;
						 GetDlgItem(IDC_BSF)->GetWindowText(str);
						 switch(i)
						 {
						 case 0:
							  if(str!="关")
								 GetDlgItem(IDC_BSF)->SetWindowText("关");
							     m_pbsf.SetIcon(m_hIcon3[0]);
							    break;
						 case 0x04:
							   if(str!="开")
								GetDlgItem(IDC_BSF)->SetWindowText("开");
							    m_pbsf.SetIcon(m_hIcon3[1]);
							   break;
						 }

						 i=shiwaiji_gongkuang[shiwaiji_xuanze][34]&0x18;
						 GetDlgItem(IDC_PSF)->GetWindowText(str);
						 switch(i)
						 {
						  case 0:
							  if(str!="正开")
							  GetDlgItem(IDC_PSF)->SetWindowText("正开");
							  break;
						 case 0x08:
							  if(str!="开")
							  GetDlgItem(IDC_PSF)->SetWindowText("开");
	                          m_ppsf.SetIcon(m_hIcon3[1]);
							  break;
						 case 0x10:
							  if(str!="关")
							  GetDlgItem(IDC_PSF)->SetWindowText("关");
                               m_ppsf.SetIcon(m_hIcon3[0]);
							  break;
                          case 0x18:
							  if(str!="正关")
							  GetDlgItem(IDC_PSF)->SetWindowText("正关");
							  break;
						 }
                        

						 i=shiwaiji_gongkuang[shiwaiji_xuanze][34]&0x60;
						 GetDlgItem(IDC_LJF)->GetWindowText(str);
						 switch(i)
						 {
                             case 0:
							  if(str!="正开")
							  GetDlgItem(IDC_LJF)->SetWindowText("正开");
							  break;
						 case 0x20:
							  if(str!="开")
							  GetDlgItem(IDC_LJF)->SetWindowText("开");
							  m_pljf.SetIcon(m_hIcon3[1]);
							  break;
						 case 0x40:
							  if(str!="关")
							  GetDlgItem(IDC_LJF)->SetWindowText("关");
                              m_pljf.SetIcon(m_hIcon3[0]);
							  break;
                          case 0x60:
							  if(str!="正关")
							  GetDlgItem(IDC_LJF)->SetWindowText("正关");
							  break;
                         }
                         

                         i=shiwaiji_gongkuang[shiwaiji_xuanze][35]&0x01;
						 GetDlgItem(IDC_RYB)->GetWindowText(str);
						 switch(i)
						 {
						 case 0x00:
							  if(str!="停止")
							  GetDlgItem(IDC_RYB)->SetWindowText("停止");
							  break;
						 case 0x01:
							   if(str!="运行")
								GetDlgItem(IDC_RYB)->SetWindowText("运行");
                            
							    m_pryb.SetIcon(m_hIcon1[add]);
							   break;
						 }
						 
						 i=shiwaiji_gongkuang[shiwaiji_xuanze][34]&0x80;
						 GetDlgItem(IDC_ZKB)->GetWindowText(str);
						 switch(i)
						 {
						 case 0:
							  if(str!="停止")
								GetDlgItem(IDC_ZKB)->SetWindowText("停止");
							  break;
						 case 0x80:
							  if(str!="运行")
								  GetDlgItem(IDC_ZKB)->SetWindowText("运行");
					   
							       m_pzkb.SetIcon(m_hIcon1[add]);
							  break;
						 }
                        
						/* i=rx_data[35]&0x02;
						 GetDlgItem(IDC_LQFJ2)->GetWindowText(str);
						 switch(i)
						 {
						 case 0:
							 if(str!="关闭")
								 GetDlgItem(IDC_LQFJ2)->SetWindowText("关闭");
							 break;
						 case 0x02:
							  if(str!="打开")
								  GetDlgItem(IDC_LQFJ2)->SetWindowText("打开");
							   
							      m_plqfj2.SetIcon(m_hIcon1[add]);
							  break;
						 }
					  	*/	  
					   i=shiwaiji_gongkuang[shiwaiji_xuanze][35]&0x04;
					   GetDlgItem(IDC_RSB)->GetWindowText(str);
					   switch(i)
					   {
					   case 0:
						   if(str!="停止")
							GetDlgItem(IDC_RSB)->SetWindowText("停止");
						   break;
					   case 0x04:
						    if(str!="运行")
							 GetDlgItem(IDC_RSB)->SetWindowText("运行");
							 m_prsb.SetIcon(m_hIcon1[add]);
							break;
					   }
					     if(abb>2)
						   abb=0;
					   i=shiwaiji_gongkuang[shiwaiji_xuanze][35]&0x18;
					   GetDlgItem(IDC_RSRSJ)->GetWindowText(str);
					   switch(i)
					   {
					   case 0:
						   if(str!="停机")
							   GetDlgItem(IDC_RSRSJ)->SetWindowText("停机");
						       break;
					   case 0x08:
						   if(str!="小火")
							   GetDlgItem(IDC_RSRSJ)->SetWindowText("小火");
						       m_prsrsj.SetIcon(m_hIcon2[abb]);
						     break;
					   case 0x10:
						    if(str!="大火")
								GetDlgItem(IDC_RSRSJ)->SetWindowText("大火");
							    m_prsrsj.SetIcon(m_hIcon2[abb]);
							break;
					   }
					  
                      
					 add++;	
					 abb++;
                     }

}
void CModem3Dlg::zb_dealwith()
{//部件
	        int i;
		    CString str;
            if(m_kzfs==1||m_kzfs==2)
			 {	         
						 i=shiwaiji_gongkuang[shiwaiji_xuanze][33]&0x04;
						 switch(i)
						 {
						 case 0:
							 m_ktsbclose.button_flag=1;
							 m_ktsbopen.button_flag=0;
							 break;
						 case 0x04:
							  m_ktsbclose.button_flag=0;
							  m_ktsbopen.button_flag=1;
							  break;
						 }
						 if(i!=b_flag[0])
						 {b_flag[0]=i;
						m_ktsbclose.InvalidateRect(FALSE);
                        m_ktsbopen.InvalidateRect(FALSE);
						 }
					    
			
						 i=shiwaiji_gongkuang[shiwaiji_xuanze][33]&0x18;
						 
						 switch(i)
						 {
						 case 0:
							    m_lqbclose.button_flag=1;
								m_lqbdisuopen.button_flag=0;
								m_lqbgaosuopen.button_flag=0;
							     break;
						 case 0x08:
							   m_lqbclose.button_flag=0;
								m_lqbdisuopen.button_flag=1;
								m_lqbgaosuopen.button_flag=0;
							   break;
						 case 0x18:
							   m_lqbclose.button_flag=0;
								m_lqbdisuopen.button_flag=0;
								m_lqbgaosuopen.button_flag=1;
							   break;
						 }
					  	 if(i!=b_flag[1])
						 {  b_flag[1]=i;
					    	m_lqbclose.InvalidateRect(FALSE);
                            m_lqbdisuopen.InvalidateRect(FALSE);
					    	m_lqbgaosuopen.InvalidateRect(FALSE);
						 }
					    
						 i=shiwaiji_gongkuang[shiwaiji_xuanze][33]&0x60;
					
						 switch(i)
						 {
						 case 0:
							   m_lqfjclose.button_flag=1;
							   m_lqfjdisuopen.button_flag=0;
							   m_lqfjzhongsuopen.button_flag=0;
							   m_lqfjgaosuopen.button_flag=0;
							     break; 
						 case 0x20:
							   m_lqfjclose.button_flag=0;
							   m_lqfjdisuopen.button_flag=1;
							   m_lqfjzhongsuopen.button_flag=0;
							   m_lqfjgaosuopen.button_flag=0;
							   break;
						 case 0x40:
							   m_lqfjclose.button_flag=0;
							   m_lqfjdisuopen.button_flag=0;
							   m_lqfjzhongsuopen.button_flag=1;
							   m_lqfjgaosuopen.button_flag=0;
							    break;
						 case 0x60:
							   m_lqfjclose.button_flag=0;
							   m_lqfjdisuopen.button_flag=0;
							   m_lqfjzhongsuopen.button_flag=0;
							   m_lqfjgaosuopen.button_flag=1;
							    break;
						 }
                        if(i!=b_flag[2])
						{
							b_flag[2]=i;
							m_lqfjclose.InvalidateRect(FALSE);
                            m_lqfjdisuopen.InvalidateRect(FALSE);
                            m_lqfjzhongsuopen.InvalidateRect(FALSE);
					    	m_lqfjgaosuopen.InvalidateRect(FALSE);
						}
						 i=shiwaiji_gongkuang[shiwaiji_xuanze][33]&0x80;
						 
						 switch(i)
						 {
						 case 0:
							m_ljbclose.button_flag=1;
							m_ljbopen.button_flag=0;
							break;
						 case 0x80:
							 m_ljbclose.button_flag=0;
							m_ljbopen.button_flag=1;
							break;
							  
						 }
						 if(i!=b_flag[3])
						 {b_flag[3]=i;
						 m_ljbclose.InvalidateRect(FALSE);
						 m_ljbopen.InvalidateRect(FALSE);
						 }



						 i=shiwaiji_gongkuang[shiwaiji_xuanze][34]&0x03;
						
						 switch(i)
						 {
						 case 0:
							  m_lrfopen.SetWindowText("正开");
							  m_lrfstop.button_flag=0;
							  m_lrfopen.button_flag=1;
							  m_lrfclose.button_flag=0;
							 
							  break;
						 case 1:
							  m_lrfopen.SetWindowText("开");
							  m_lrfstop.button_flag=0;
							  m_lrfopen.button_flag=1;
							  m_lrfclose.button_flag=0;
							  break;
						 case 2:
							  m_lrfclose.SetWindowText("正关");
							  m_lrfstop.button_flag=0;
							  m_lrfopen.button_flag=0;
							  m_lrfclose.button_flag=1;
							  break;
						 case 3:
							  m_lrfclose.SetWindowText("正关");
							  m_lrfstop.button_flag=0;
							  m_lrfopen.button_flag=0;
							  m_lrfclose.button_flag=1;
						 }
						 if(i!=b_flag[4])
						 {
						 b_flag[4]=i;
						 if(m_kzfs!=2)
                         m_lrfstop.InvalidateRect(FALSE);
						 m_lrfopen.InvalidateRect(FALSE);
						 m_lrfclose.InvalidateRect(FALSE);
						 }
						 
						 i=shiwaiji_gongkuang[shiwaiji_xuanze][34]&0x04;
						
						 switch(i)
						 {
						 case 0:
							   m_bsfclose.button_flag=1;
							   m_bsfopen.button_flag=0;
							    break;
						 case 0x04:
							   m_bsfclose.button_flag=1;
							   m_bsfopen.button_flag=0;
							   break;
						 }
						 if(i!=b_flag[5])
						 {
						 b_flag[5]=i;
                         m_bsfopen.InvalidateRect(FALSE);
						 m_bsfclose.InvalidateRect(FALSE);
						 }


						 i=shiwaiji_gongkuang[shiwaiji_xuanze][34]&0x18;
					
						 switch(i)
						 {
						  case 0:
							 m_psfopen.SetWindowText("正开");
							 m_psfstop.button_flag=0;
							 m_psfopen.button_flag=1;
							 m_psfclose.button_flag=0;
							 break;
						 case 0x08:
							  m_psfopen.SetWindowText("开");
							 m_psfstop.button_flag=0;
							 m_psfopen.button_flag=1;
							 m_psfclose.button_flag=0;
							  break;
						 case 0x10:
							 m_psfclose.SetWindowText("关");
							  m_psfstop.button_flag=0;
							 m_psfopen.button_flag=0;
							 m_psfclose.button_flag=1;
							  break;
						 case 0x18:
							  m_psfclose.SetWindowText("正关");
							  m_psfstop.button_flag=0;
							 m_psfopen.button_flag=0;
							 m_psfclose.button_flag=1;
							  break;
						 }
						 if(i!=b_flag[6])
						 {
						 b_flag[6]=i;
						 if(m_kzfs!=2)
						 m_psfstop.InvalidateRect(FALSE);
						 m_psfopen.InvalidateRect(FALSE);
						 m_psfclose.InvalidateRect(FALSE);
						 }

						 i=shiwaiji_gongkuang[shiwaiji_xuanze][34]&0x60;
						 
						 switch(i)
						 {
                             case 0:
							  m_ljfopen.SetWindowText("正开");
							  m_ljfstop.button_flag=0;
							  m_ljfopen.button_flag=1;
							  m_ljfclose.button_flag=0;
							  break;
						 case 0x20:
							  m_ljfopen.SetWindowText("开");
							  m_ljfstop.button_flag=0;
							  m_ljfopen.button_flag=1;
							  m_ljfclose.button_flag=0;
							  break;
						 case 0x40:
							  m_ljfclose.SetWindowText("关");
							  m_ljfstop.button_flag=0;
							  m_ljfopen.button_flag=0;
							  m_ljfclose.button_flag=1;
							  break;
						 case 0x60:
							  m_ljfclose.SetWindowText("正关");
                              m_ljfstop.button_flag=0;
							  m_ljfopen.button_flag=0;
							  m_ljfclose.button_flag=1;
							  break;
                         }
                        if(i!=b_flag[7])
						 {
						 b_flag[7]=i;
						 if(m_kzfs!=2)
                         m_ljfstop.InvalidateRect(FALSE);
						 m_ljfopen.InvalidateRect(FALSE);
						 m_ljfclose.InvalidateRect(FALSE);
						}

                         i=shiwaiji_gongkuang[shiwaiji_xuanze][35]&0x01;
						 
						 switch(i)
						 {
						 case 0x00:
							  m_rybclose.button_flag=1;
							  m_rybopen.button_flag=0;
							  break;
						 case 0x01:
							   m_rybclose.button_flag=0;
							  m_rybopen.button_flag=1;
							   break;
						 }
                        if(i!=b_flag[8])
						 {
						 b_flag[8]=i;
						 m_rybopen.InvalidateRect(FALSE);
						 m_rybclose.InvalidateRect(FALSE);
						}

						 i=shiwaiji_gongkuang[shiwaiji_xuanze][34]&0x80;
						 switch(i)
						 {
						 case 0:
							  m_zkbclose.button_flag=1;
							  m_zkbopen.button_flag=0;
							  break;
						 case 0x80:
							  m_zkbclose.button_flag=0;
							  m_zkbopen.button_flag=1;
							  break;
						 }
                         if(i!=b_flag[9])
						 {
						 b_flag[9]=i;
					     m_zkbopen.InvalidateRect(FALSE);
						 m_zkbclose.InvalidateRect(FALSE);
						 }

					   i=shiwaiji_gongkuang[shiwaiji_xuanze][35]&0x04;
					   
					   switch(i)
					   {
					   case 0:
						 m_rsbclose.button_flag=1;
						 m_rsbopen.button_flag=0;
						   break;
					   case 0x04:
						     m_rsbclose.button_flag=0;
						 m_rsbopen.button_flag=1;
							break;
					   } 
					   if(i!=b_flag[10])
						 {
						 b_flag[10]=i;
					      m_rsbopen.InvalidateRect(FALSE);
						 m_rsbclose.InvalidateRect(FALSE);
					   }

					   i=shiwaiji_gongkuang[shiwaiji_xuanze][35]&0x18;
					   switch(i)
					   {
					   case 0:
						   m_rsrsjstop.button_flag=1;
						   m_rsrsjxiaohuo.button_flag=0;
						   m_rsrsjdahuo.button_flag=0;
						   break;
					   case 0x08:
						   m_rsrsjstop.button_flag=0;
						   m_rsrsjxiaohuo.button_flag=1;
						   m_rsrsjdahuo.button_flag=0;
						     break;
					   case 0x10:
						   m_rsrsjstop.button_flag=0;
						   m_rsrsjxiaohuo.button_flag=0;
						   m_rsrsjdahuo.button_flag=1;
							break;
					   }
					   if(i!=b_flag[11])
						 {
						 b_flag[11]=i;
                       m_rsrsjstop.InvalidateRect(FALSE);
                       m_rsrsjxiaohuo.InvalidateRect(FALSE);
                      m_rsrsjdahuo.InvalidateRect(FALSE);
					   }
                     }
}
void CModem3Dlg::guzhang_dealwith()               //数据显示之故障
{ //故障信息
                  unsigned char j;
                     draw_flag=0;
					 j=shiwaiji_guzhang[shiwaiji_xuanze][7]&0x01;
					 if(j==0x01)
					 {   
					   draw_flag=1;
					 }
					   	GetDlgItem(IDC_GZ11)->SetWindowText("空调水断水");
				
				
					  
					 draw_flag=0;
					 j=shiwaiji_gongkuang[shiwaiji_xuanze][7]&0x02;
					 if(j==0x02)
					 { draw_flag=1;
					 }
					
                     GetDlgItem(IDC_GZ12)->SetWindowText("冷却水断水");
					 
						 
					

					 draw_flag=0;
					 j=shiwaiji_gongkuang[shiwaiji_xuanze][7]&0x04;
					 if(j==0x04)
					 {    draw_flag=1;
					 }
					      GetDlgItem(IDC_GZ13)->SetWindowText("高交结晶");
					 
					 


					 draw_flag=0;
					 j=shiwaiji_gongkuang[shiwaiji_xuanze][7]&0x08;
                     if(j==0x08)
					 {   
						     draw_flag=1;
					 }
					 GetDlgItem(IDC_GZ14)->SetWindowText("低交结晶");
							
					 
					

					 draw_flag=0;
                     j=shiwaiji_gongkuang[shiwaiji_xuanze][7]&0x10;
                     if(j==0x10)
					 {       
					  draw_flag=1;
					 }
					   GetDlgItem(IDC_GZ16)->SetWindowText("空调水流量开关故障");
					
                  

					draw_flag=0;
                    j=shiwaiji_gongkuang[shiwaiji_xuanze][7]&0x20;
					 if(j==0x20)
					 {       draw_flag=1;
					 }
							
						  GetDlgItem(IDC_GZ15)->SetWindowText("空调水出口温度传感器");	
					 
                   

					 draw_flag=0;
					 j=shiwaiji_gongkuang[shiwaiji_xuanze][7]&0x40;
					  if(j==0x40)
					  {      
					  draw_flag=1;
					  }
					  GetDlgItem(IDC_GZ17)->SetWindowText("空调水入口温度传感器");
						
					  
                   

					  draw_flag=0;
					  j=shiwaiji_gongkuang[shiwaiji_xuanze][7]&0x80;
					  if(j==0x80)
					  {       
						 draw_flag=1;

					  }
							 
					 GetDlgItem(IDC_GZ18)->SetWindowText("高发温度传感器故障");		  
					 
                      
			
                     draw_flag=0;
					 j=shiwaiji_gongkuang[shiwaiji_xuanze][8]&0x01;
					 if(j==0x01)
					 {
						     draw_flag=1;
					 }
						GetDlgItem(IDC_GZ21)->SetWindowText("空调水泵故障");
							 
					
                    

					 draw_flag=0;
					 j=shiwaiji_gongkuang[shiwaiji_xuanze][8]&0x02;
					 if(j==0x02)
					 {
					  draw_flag=1;
					 }
					 GetDlgItem(IDC_GZ22)->SetWindowText("冷却泵故障");	
					
                    

					 draw_flag=0;
					 j=shiwaiji_gongkuang[shiwaiji_xuanze][8]&0x04;
					 if(j==0x04)
					 {
					   draw_flag=1;
					 }
						GetDlgItem(IDC_GZ23)->SetWindowText("冷却风机故障");	 
						
					
                     


					 draw_flag=0;
					 j=shiwaiji_gongkuang[shiwaiji_xuanze][8]&0x08;
					 if(j==0x08)
					 {
					   draw_flag=1;
					 }
					 GetDlgItem(IDC_GZ24)->SetWindowText("溶液泵故障");	
							 
					 
                     draw_flag=0;
					 j=shiwaiji_gongkuang[shiwaiji_xuanze][8]&0x10;
					 if(j==0x10)
					 { 
					  draw_flag=1;
					 }
					 GetDlgItem(IDC_GZ25)->SetWindowText("冷剂泵故障");	 
						 
					 
                      

					 draw_flag=0;
					 j=shiwaiji_gongkuang[shiwaiji_xuanze][8]&0x20;
					 if(j==0x20)
					 {
					
						   draw_flag=1;
					 }		
					 GetDlgItem(IDC_GZ26)->SetWindowText("燃烧机故障");	
					
                    
					/*
                     j=shiwaiji_gongkuang[shiwaiji_xuanze][8]&0x40;
					 if(j==0x40&&p==0&&k==0)
					 {
						 k=1;
						 if(str!="2#冷却风机故障")
						 {
							 GetDlgItem(IDC_GZ22)->SetWindowText("2#冷却风机故障");
							 p=1;
						 }
					 }
					 */
					 
					 draw_flag=0;
					 j=shiwaiji_gongkuang[shiwaiji_xuanze][8]&0x80;
					 if(j==0x80)
					 {
						draw_flag=1;
					 }
						GetDlgItem(IDC_GZ27)->SetWindowText("冷热阀未到位");
					 
							 
				
                      
					 draw_flag=0;
					 j=shiwaiji_gongkuang[shiwaiji_xuanze][9]&0x01;
					 if(j==0x01)
					 {
					  draw_flag=1;
					 }		
					  GetDlgItem(IDC_BJ11)->SetWindowText("空调水温低");	
					
                 

					 draw_flag=0;
					 j=shiwaiji_gongkuang[shiwaiji_xuanze][9]&0x02;
					 if(j==0x02)
					 {  
					 draw_flag=1;
					 }		 
				     GetDlgItem(IDC_BJ12)->SetWindowText("冷却水超温");	 
					 
               

					draw_flag=0;
					j=shiwaiji_gongkuang[shiwaiji_xuanze][9]&0x04;
					if(j==0x04)
					{
					        draw_flag=1;
					}
						 GetDlgItem(IDC_BJ13)->SetWindowText("冷却水温低");	
						
					
                   

					draw_flag=0;
					j=shiwaiji_gongkuang[shiwaiji_xuanze][9]&0x08;
					if(j==0x08)
					{
						    draw_flag=1;
					}
					GetDlgItem(IDC_BJ14)->SetWindowText("高发超温");
						
					
	                 
					
                    draw_flag=0;
					j=shiwaiji_gongkuang[shiwaiji_xuanze][9]&0x10;
					if(j==0x10)
					{
						    draw_flag=1;
							
					}
                     GetDlgItem(IDC_BJ15)->SetWindowText("排气超温");

					draw_flag=0;
					j=shiwaiji_gongkuang[shiwaiji_xuanze][9]&0x20;
					if(j==0x20)
					{
						    draw_flag=1;
					}		
					GetDlgItem(IDC_BJ16)->SetWindowText("高发缺溶液");	
				
                    


					draw_flag=0;
					j=shiwaiji_gongkuang[shiwaiji_xuanze][9]&0x40;
					if(j==0x40)
					{
					        draw_flag=1;
					}
					 GetDlgItem(IDC_BJ17)->SetWindowText("高发超压");		
							
				
                  

					draw_flag=0;
					j=shiwaiji_gongkuang[shiwaiji_xuanze][9]&0x80;
					if(j==0x80)
					{
						    draw_flag=1;
					}
					GetDlgItem(IDC_BJ18)->SetWindowText("冷剂阀故障");		
							
				
                    
                 
				     draw_flag=0;
					 j=shiwaiji_gongkuang[shiwaiji_xuanze][10]&0x01;
					 if(j==0x01)
					 { 
						  draw_flag=1;
					 }
						 
					 GetDlgItem(IDC_YJ11)->SetWindowText("高发液控异常");  
					 
                       

				    draw_flag=0;
                   j=shiwaiji_gongkuang[shiwaiji_xuanze][10]&0x02;
				   if(j==0x02)
				   {
					  draw_flag=1;
				   }
					   GetDlgItem(IDC_YJ12)->SetWindowText("冷剂液控异常");
					   
				   
                   

				    draw_flag=0;
				   j=shiwaiji_gongkuang[shiwaiji_xuanze][10]&0x04;
				   if(j==0x04)
				   {
					draw_flag=1;
				   }
						   
					GetDlgItem(IDC_YJ13)->SetWindowText("环境温度传感器故障");	   
				 
                    


				   draw_flag=0;
				   j=shiwaiji_gongkuang[shiwaiji_xuanze][10]&0x08;
				   if(j==0x08)
				   {
					draw_flag=1;
				   }
					GetDlgItem(IDC_YJ14)->SetWindowText("空调水入口温度传感器故障");	   
						   
				   
                   
				  
				   draw_flag=0;
				   j=shiwaiji_gongkuang[shiwaiji_xuanze][10]&0x10;
				   if(j==0x10)
				   {
					 draw_flag=1;
				   }
					 GetDlgItem(IDC_YJ15)->SetWindowText("冷却水出口温度传感器故障");	   
						  
				
                  

				   draw_flag=0;
				   j=shiwaiji_gongkuang[shiwaiji_xuanze][10]&0x20;
				   if(j==0x20)
				   {
					draw_flag=1;
				   }
					GetDlgItem(IDC_YJ16)->SetWindowText("不凝气满");	   
						  
				   
                   

				   draw_flag=0;
				   j=shiwaiji_gongkuang[shiwaiji_xuanze][10]&0x40;
				   if(j==0x40)
				   {
					draw_flag=1;
				   }
				  GetDlgItem(IDC_YJ17)->SetWindowText("环境温度低/高");   
						   
				  
                    
                    
				   draw_flag=0;
				   j=shiwaiji_gongkuang[shiwaiji_xuanze][10]&0x80;
				   if(j==0x80)
				   {
					draw_flag=1;
				   }
				   GetDlgItem(IDC_YJ18)->SetWindowText("排气温度传感器故障");   
				   
}
//历史故障
void CModem3Dlg::OnLsgz() 
{
	// TODO: Add your control notification handler code here
	CListDialog    dlg;
	dlg.DoModal();
}

//整机调试
void CModem3Dlg::OnZjts() 
{
	// TODO: Add your command handler code here
  CMenu* m_Menu=this->GetMenu();
  m_Menu->ModifyMenu(ID_ZJTS,MF_CHECKED,ID_ZJTS,"整机调试");

  m_Menu->ModifyMenu(ID_BJTS,MF_UNCHECKED,ID_BJTS,"部件调试");
  m_Menu->ModifyMenu(ID_AUTO,MF_UNCHECKED,ID_AUTO,"自动运行");

  if(m_kzfs==0)
  zjbj();
 
  m_lrfstop.DestroyWindow();
  m_ljfstop.DestroyWindow();
  m_psfstop.DestroyWindow();
 
  m_kzfs=2;
  GetDlgItem(IDC_KTFS)->SetWindowText("整机调试");
 
}

void CModem3Dlg::OnUpdateZjts(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
  if(m_kzfs==2)
  {pCmdUI->SetCheck(1);
   pCmdUI->Enable(FALSE);
  }
}
//
void CModem3Dlg::zjbj(void)
{
  m_pktsb.DestroyWindow();
  m_pljb.DestroyWindow();
  m_plqb.DestroyWindow();
  m_prsb.DestroyWindow();
  m_prsrsj.DestroyWindow();
  m_pzkb.DestroyWindow();
  m_plqfj.DestroyWindow();
  m_pryb.DestroyWindow();
  m_plrf.DestroyWindow();
  m_ppsf.DestroyWindow();
  m_pbsf.DestroyWindow();
  m_pljf.DestroyWindow();
  m_prsj.DestroyWindow();
  GetDlgItem(IDC_RSJ)->SetWindowText("");
  GetDlgItem(IDC_KTSB)->SetWindowText("");
  GetDlgItem(IDC_LQB)->SetWindowText("");
  GetDlgItem(IDC_LJB)->SetWindowText("");
  GetDlgItem(IDC_LQFJ)->SetWindowText("");
  GetDlgItem(IDC_ZKB)->SetWindowText("");
  GetDlgItem(IDC_RYB)->SetWindowText("");
  GetDlgItem(IDC_RSB)->SetWindowText("");
  GetDlgItem(IDC_RSRSJ)->SetWindowText("");
  GetDlgItem(IDC_LRF)->SetWindowText("");
  GetDlgItem(IDC_LJF)->SetWindowText("");
  GetDlgItem(IDC_BSF)->SetWindowText("");
  GetDlgItem(IDC_PSF)->SetWindowText("");

    CDC * pDCC=this->GetDC();
    CFont* pFont;
	pFont=new CFont();
    pFont->CreatePointFont(100,"宋体",pDCC);
 
    //CFont *pFont=CFont::FromHandle((HFONT)::GetStockObject(ANSI_VAR_FONT));
	m_ktsbopen.button_flag=0;
    m_ktsbopen.Create("开",WS_CHILD |WS_VISIBLE|BS_OWNERDRAW| BS_PUSHBUTTON,CRect(300,310,340,335),this,IDC_KTSBOPEN);
    m_ktsbopen.SetFont(pFont);
	m_ktsbclose.button_flag=0;
	m_ktsbclose.Create("关",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(350,310,390,335),this,IDC_KTSBCLOSE);
	m_ktsbclose.SetFont(pFont);
    m_lqbdisuopen.button_flag=0;
	m_lqbdisuopen.Create("低速",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,CRect(500,310,540,335),this,IDC_LQBDISUOPEN);
	m_lqbdisuopen.SetFont(pFont);
    m_lqbgaosuopen.button_flag=0;
	m_lqbgaosuopen.Create("高速",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,CRect(550,310,590,335),this,IDC_LQBGAOSUOPEN);
	m_lqbgaosuopen.SetFont(pFont);
 
	m_lqbclose.button_flag=0;
	m_lqbclose.Create("关",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,CRect(600,310,640,335),this,IDC_LQBCLOSE);
	m_lqbclose.SetFont(pFont);
	m_lqfjdisuopen.button_flag=0;
	m_lqfjdisuopen.Create("低速",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,CRect(300,360,340,385),this,IDC_LQFJDISUOPEN);
	m_lqfjdisuopen.SetFont(pFont);
    m_lqfjzhongsuopen.button_flag=0;
	m_lqfjzhongsuopen.Create("中速",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,CRect(350,360,390,385),this,IDC_LQFJZHONGSUOPEN);
	m_lqfjzhongsuopen.SetFont(pFont);
    m_lqfjgaosuopen.button_flag=0;
	m_lqfjgaosuopen.Create("高速",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,CRect(400,360,440,385),this,IDC_LQFJGAOSUOPEN);
	m_lqfjgaosuopen.SetFont(pFont);
	m_lqfjclose.button_flag=0;
	m_lqfjclose.Create("关",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,CRect(450,360,490,385),this,IDC_LQFJCLOSE);
	m_lqfjclose.SetFont(pFont);
	m_ljbopen.button_flag=0;
	m_ljbopen.Create("开",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(500,360,540,385),this,IDC_LJBOPEN);
	m_ljbopen.SetFont(pFont);
	m_ljbclose.button_flag=0;
	m_ljbclose.Create("关",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,CRect(550,360,590,385),this,IDC_LJBCLOSE);
	m_ljbclose.SetFont(pFont);
	m_zkbopen.button_flag=0;
	m_zkbopen.Create("开",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(300,405,340,430),this,IDC_ZKBOPEN);
	m_zkbopen.SetFont(pFont);
	m_zkbclose.button_flag=0;
	m_zkbclose.Create("关",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,CRect(350,405,390,430),this,IDC_ZKBCLOSE);
	m_zkbclose.SetFont(pFont);
	m_rybopen.button_flag=0;
	m_rybopen.Create("开",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(500,405,540,430),this,IDC_RYBOPEN);
	m_rybopen.SetFont(pFont);
	m_rybclose.button_flag=0;
	m_rybclose.Create("关",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,CRect(550,405,590,430),this,IDC_RYBCLOSE);
	m_rybclose.SetFont(pFont);
	m_rsbopen.button_flag=0;
	m_rsbopen.Create("开",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(300,630,340,655),this,IDC_RSBOPEN);
	m_rsbopen.SetFont(pFont);
	m_rsbclose.button_flag=0;
	m_rsbclose.Create("关",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,CRect(350,630,390,655),this,IDC_RSBCLOSE);
	m_rsbclose.SetFont(pFont);
	m_rsrsjxiaohuo.button_flag=0;
	m_rsrsjxiaohuo.Create("小火",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(500,630,540,655),this,IDC_RSRSJXIAOHUO);
	m_rsrsjxiaohuo.SetFont(pFont);
	m_rsrsjdahuo.button_flag=0;
	m_rsrsjdahuo.Create("大火",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(550,630,590,655),this,IDC_RSRSJDAHUO);
	m_rsrsjdahuo.SetFont(pFont);
	m_rsrsjstop.button_flag=0;
	m_rsrsjstop.Create("停",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,CRect(600,630,640,655),this,IDC_RSRSJSTOP);
	m_rsrsjstop.SetFont(pFont);
	m_lrfopen.button_flag=0;
	m_lrfopen.Create("开",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(300,445,340,470),this,IDC_LRFOPEN);
	m_lrfopen.SetFont(pFont);
	m_lrfclose.button_flag=0;
    m_lrfclose.Create("关",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,CRect(350,445,390,470),this,IDC_LRFCLOSE);
	m_lrfclose.SetFont(pFont);
	m_lrfstop.button_flag=0;
    m_lrfstop.Create("停",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(400,445,440,470),this,IDC_LRFSTOP);
	m_lrfstop.SetFont(pFont);
	m_bsfopen.button_flag=0;
	m_bsfopen.Create("开",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(500,495,540,520),this,IDC_BSFOPEN);
	m_bsfopen.SetFont(pFont);
	m_bsfclose.button_flag=0;
    m_bsfclose.Create("关",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(550,495,590,520),this,IDC_BSFCLOSE);
	m_bsfclose.SetFont(pFont);
	m_psfopen.button_flag=0;
    m_psfopen.Create("开",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(300,495,340,520),this,IDC_PSFOPEN);
	m_psfopen.SetFont(pFont);
	m_psfclose.button_flag=0;
    m_psfclose.Create("关",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,CRect(350,495,390,520),this,IDC_PSFCLOSE);
	m_psfclose.SetFont(pFont);
	m_psfstop.button_flag=0;
    m_psfstop.Create("停",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(400,495,440,520),this,IDC_PSFSTOP);
	m_psfstop.SetFont(pFont);
	m_ljfopen.button_flag=0;
	m_ljfopen.Create("开",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(500,445,540,470),this,IDC_LJFOPEN);
	m_ljfopen.SetFont(pFont);
	m_ljfclose.button_flag=0;
    m_ljfclose.Create("关",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,CRect(550,445,590,470),this,IDC_LJFCLOSE);
	m_ljfclose.SetFont(pFont);
	m_ljfstop.button_flag=0;
    m_ljfstop.Create("停",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(600,445,640,470),this,IDC_LJFSTOP);
	m_ljfstop.SetFont(pFont);
	m_rsjxiaohuo.button_flag=0;
    m_rsjxiaohuo.Create("小火",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(300,540,340,565),this,IDC_RSJXIAOHUO);
	m_rsjxiaohuo.SetFont(pFont);
	m_rsjdahuo.button_flag=0;
    m_rsjdahuo.Create("大火",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,CRect(350,540,390,565),this,IDC_RSJDAHUO);
	m_rsjdahuo.SetFont(pFont);
	m_rsjstop.button_flag=0;
    m_rsjstop.Create("停",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,CRect(400,540,440,565),this,IDC_RSJSTOP);
	m_rsjstop.SetFont(pFont);
	ReleaseDC(pDCC);
}
void CModem3Dlg::OnBjts() 
{
	// TODO: Add your command handler code here
  CMenu* m_Menu=this->GetMenu();
  m_Menu->ModifyMenu(ID_ZJTS,MF_UNCHECKED,ID_ZJTS,"整机调试");
  m_Menu->ModifyMenu(ID_BJTS,MF_CHECKED,ID_BJTS,"部件调试");
  m_Menu->ModifyMenu(ID_AUTO,MF_UNCHECKED,ID_AUTO,"自动运行");
  if(m_kzfs==0)
  zjbj();
  if(m_kzfs==2)
  {
    CDC * pDCC=this->GetDC();
    CFont* pFont;
	pFont=new CFont();
    pFont->CreatePointFont(100,"宋体",pDCC);
   	m_psfstop.button_flag=0;
    m_psfstop.Create("停",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(335,395,365,415),this,IDC_PSFSTOP);
	m_psfstop.SetFont(pFont);
	m_ljfstop.button_flag=0;
    m_ljfstop.Create("停",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(480,360,510,380),this,IDC_LJFSTOP);
	m_ljfstop.SetFont(pFont);
	m_lrfstop.button_flag=0;
    m_lrfstop.Create("停",WS_CHILD |WS_VISIBLE|BS_PUSHBUTTON |BS_OWNERDRAW,CRect(335,360,365,380),this,IDC_LRFSTOP);
	m_lrfstop.SetFont(pFont);
  }
  m_kzfs=1;
  GetDlgItem(IDC_KTFS)->SetWindowText("部件调试");
  
}

void CModem3Dlg::OnUpdateBjts(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
  if(m_kzfs==1)
  {pCmdUI->SetCheck(1);
   pCmdUI->Enable(FALSE);
  }
	
}
//自动运行

void CModem3Dlg::OnAuto() 
{
	// TODO: Add your command handler code here
	int i;
    m_kzfs=0;
    CMenu* m_Menu=this->GetMenu();
    m_Menu->ModifyMenu(ID_ZJTS,MF_UNCHECKED,ID_ZJTS,"整机调试");
    m_Menu->ModifyMenu(ID_BJTS,MF_UNCHECKED,ID_BJTS,"部件调试");
    m_Menu->ModifyMenu(ID_AUTO,MF_CHECKED,ID_AUTO,"自动运行");
	GetDlgItem(IDC_KTFS)->SetWindowText("自动运行");

	m_ktsbopen.DestroyWindow();
	m_ktsbclose.DestroyWindow();
	m_lqbdisuopen.DestroyWindow();
	m_lqbgaosuopen.DestroyWindow();
	m_lqbclose.DestroyWindow();
	m_lqfjdisuopen.DestroyWindow();
	m_lqfjzhongsuopen.DestroyWindow();
	m_lqfjgaosuopen.DestroyWindow();
	m_lqfjclose.DestroyWindow();
	m_ljbopen.DestroyWindow();
	m_ljbclose.DestroyWindow();
	m_zkbopen.DestroyWindow();
	m_zkbclose.DestroyWindow();
	m_rybopen.DestroyWindow();
	m_rybclose.DestroyWindow();
	m_ljfopen.DestroyWindow();
	m_ljfclose.DestroyWindow();
	m_ljfstop.DestroyWindow();
	m_lrfstop.DestroyWindow();
	m_lrfclose.DestroyWindow();
	m_lrfopen.DestroyWindow();
	m_psfclose.DestroyWindow();
	m_psfopen.DestroyWindow();
	m_psfstop.DestroyWindow();
	m_bsfopen.DestroyWindow();
	m_bsfclose.DestroyWindow();
	m_rsjxiaohuo.DestroyWindow();
	m_rsjdahuo.DestroyWindow();
	m_rsjstop.DestroyWindow();
	m_rsrsjxiaohuo.DestroyWindow();
	m_rsrsjdahuo.DestroyWindow();
	m_rsrsjstop.DestroyWindow();
	m_rsbopen.DestroyWindow();
	m_rsbclose.DestroyWindow();
	m_pktsb.Create("",WS_CHILD |WS_VISIBLE|SS_ICON ,CRect(420,280,440,310),this,IDC_STATICPKTSB);
	m_plqb.Create("",WS_CHILD |WS_VISIBLE|SS_ICON ,CRect(600,280,620,300),this,IDC_STATICPLQB);
    m_plqfj.Create("",WS_CHILD |WS_VISIBLE|SS_ICON ,CRect(420,335,440,360),this,IDC_STATICPLQFJ);
	m_pljb.Create("",WS_CHILD |WS_VISIBLE|SS_ICON ,CRect(600,335,620,355),this,IDC_STATICPLJB);
	m_pzkb.Create("",WS_CHILD |WS_VISIBLE|SS_ICON ,CRect(420,385,440,400),this,IDC_STATICPZKB);
	m_pryb.Create("",WS_CHILD |WS_VISIBLE|SS_ICON ,CRect(600,385,620,400),this,IDC_STATICPRYB);
	m_prsj.Create("",WS_CHILD|WS_VISIBLE|SS_ICON ,CRect(420,530,440,550),this,IDC_STATICPRSJ);
	m_prsb.Create("",WS_CHILD|WS_VISIBLE|SS_ICON ,CRect(420,600,440,610),this,IDC_STATICPRSB);
	m_prsrsj.Create("",WS_CHILD|WS_VISIBLE|SS_ICON ,CRect(600,600,620,610),this,IDC_STATICPRSB);
	m_ppsf.Create("",WS_CHILD|WS_VISIBLE|SS_ICON ,CRect(420,470,440,490),this,IDC_STATICPPSF);
    m_plrf.Create("",WS_CHILD|WS_VISIBLE|SS_ICON ,CRect(420,425,440,450),this,IDC_STATICPLRF);
    m_pbsf.Create("",WS_CHILD|WS_VISIBLE|SS_ICON ,CRect(600,470,620,490),this,IDC_STATICPBSF);
    m_pljf.Create("",WS_CHILD|WS_VISIBLE|SS_ICON ,CRect(600,425,620,440),this,IDC_STATICPLJF);
  	m_pktsb.SetIcon(m_hIcon1[0]);
	m_plqb.SetIcon(m_hIcon1[0]);
    m_pljb.SetIcon(m_hIcon1[0]);
    m_pryb.SetIcon(m_hIcon1[0]);
    m_prsb.SetIcon(m_hIcon1[0]);
    m_plqfj.SetIcon(m_hIcon1[0]);
	m_pzkb.SetIcon(m_hIcon1[0]);
	m_ppsf.SetIcon( m_hIcon3[0]);
	m_plrf.SetIcon(m_hIcon3[0]);
	m_pbsf.SetIcon(m_hIcon3[0]);
	m_pljf.SetIcon(m_hIcon3[0]);
	m_prsj.SetIcon(m_hIcon2[0]);
	m_prsrsj.SetIcon(m_hIcon2[0]);
	for(i=0;i<16;i++)
		b_flag[i]=255;
}

void CModem3Dlg::OnUpdateAuto(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	if(m_kzfs==0)
     {pCmdUI->SetCheck(1);
      pCmdUI->Enable(FALSE);
	}
}


void CModem3Dlg::OnKtsbopen()
{    
   
  switch(m_kzfs)
  {
  case 1:
	  send_data[0]=0xf7;
	   send_data[1]=0xf8;
	   send_data[2]=0x0e;
	   send_data[3]=0x01;
	   send_data[4]=shiwaiji_xuanze;
	   send_data[5]=0x3c;
	   send_data[6]=0x10;
	   break;

  }

 
	
   
}
void CModem3Dlg::OnKtsbclose()
{
	
}
void CModem3Dlg::OnLqbdisuopen()
{
	
}

void CModem3Dlg::OnLqbclose()
{
	
}
void CModem3Dlg::OnLjbclose()
{
	
}
void CModem3Dlg::OnLjbopen()
{
	
}
void CModem3Dlg::OnLqfjclose()
{
	
}
void CModem3Dlg::OnLqfjdisuopen()
{
	
}

void CModem3Dlg::OnZkbclose()
{
	
}
void CModem3Dlg::OnZkbopen()
{
	
}
void CModem3Dlg::OnRybclose()
{
	
}
void CModem3Dlg::OnRybopen()
{
	
}



BEGIN_EVENTSINK_MAP(CModem3Dlg, CDialog)
    //{{AFX_EVENTSINK_MAP(CModem3Dlg)
	ON_EVENT(CModem3Dlg, IDC_MSCOMM2, 1 /* OnComm */, OnOnCommMscomm2, VTS_NONE)
	//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()




void CModem3Dlg::OnHelp() 
{
 // TODO: Add your command handler code here
  AfxMessageBox("a");
}







void CModem3Dlg::OnShiwaiji2() 
{
	// TODO: Add your command handler code here
	shiwaiji_xuanze=2;
    CMenu* m_Menu=this->GetMenu();
    m_Menu->ModifyMenu(ID_SHIWAIJI1,MF_UNCHECKED,ID_SHIWAIJI1,"1#室外机");
    m_Menu->ModifyMenu(ID_SHIWAIJI2,MF_CHECKED,ID_SHIWAIJI2,"2#室外机");
}

void CModem3Dlg::OnShiwaiji1() 
{
	// TODO: Add your command handler code here
    shiwaiji_xuanze=1;
   CMenu* m_Menu=this->GetMenu();
           
   m_Menu->ModifyMenu(ID_SHIWAIJI1,MF_CHECKED,ID_SHIWAIJI1,"1#室外机");
    m_Menu->ModifyMenu(ID_SHIWAIJI2,MF_UNCHECKED,ID_SHIWAIJI2,"2#室外机");
}


void CModem3Dlg::OnShinei() 
{
	// TODO: Add your command handler code here
	CShineijiDialog  dlg;
	dlg.DoModal();
}
/******************************参数设置**************************/
//机型参数设置
void CModem3Dlg::OnJxcs() 
{
// TODO: Add your command handler code here

 unsigned char i,flag;
 flag=2;
 send_data[0]=0xf7;
 send_data[1]=0xf8;
 send_data[2]=0x04;
 send_data[3]=0x01;
 send_data[4]=shiwaiji_xuanze;
 send_data[5]=0x02;
 send_data[6]=0x00;
 for(i=0;i<6;i++)
	 send_data[6]=send_data[6]+send_data[i];
 send_data[7]=0xfd;
 send_flag=1;

 for(i=0;i<200;i++)
 {
  if(immediate_data[3]==0x01&&immediate_data[4]==send_data[4]&&immediate_data[5]==0x02)
   flag=2;
 }
 if(flag==2)
 {
 CJxDialog dlg;
 dlg.DoModal();
 }

}

//制冷参数设置
void CModem3Dlg::OnCool() 
{
	// TODO: Add your command handler code here
 long int i;
 send_data[0]=0xf7;
 send_data[1]=0xf8;
 send_data[2]=0x04;
 send_data[3]=0x01;
 send_data[4]=shiwaiji_xuanze;
 send_data[5]=0x03;
 send_data[6]=0x00;
 for(i=0;i<6;i++)
	 send_data[6]=send_data[6]+send_data[i];
 send_data[7]=0xfd;
 send_flag=1;
 time_over=0;
 int k;
 k=1;
/*
 do{
	 if(time_over>4)
	 {k=0;
     AfxMessageBox("通讯异常"); 
	 }

 }while(k);

 */

/*
  if(time_over>1)
  {
   CZhiLengDialog dlg;
   dlg.DoModal();
  }
 */
	
}


//制热参数设置
void CModem3Dlg::OnHot() 
{
	// TODO: Add your command handler code here
 unsigned char i,flag;
 flag=2;
 
 send_data[0]=0xf7;
 send_data[1]=0xf8;
 send_data[2]=0x04;
 send_data[3]=0x01;
 send_data[4]=shiwaiji_xuanze;
 send_data[5]=0x04;
 send_data[6]=0x00;
 for(i=0;i<6;i++)
	 send_data[6]=send_data[6]+send_data[i];
 send_data[7]=0xfd;
 send_flag=1;
 time_over=0;
 for(i=0;i<200;i++)
 {
  if(immediate_data[3]==0x01&&immediate_data[4]==send_data[4]&&immediate_data[5]==0x04)
   flag=2;
 }
 if(flag==2)
 {
	CZhiReDialog dlg;
	dlg.DoModal();
}
}
//时间参数设置
void CModem3Dlg::OnTiming() 
{
	// TODO: Add your command handler code here
 unsigned char i,flag;
 flag=2;
 
 send_data[0]=0xf7;
 send_data[1]=0xf8;
 send_data[2]=0x04;
 send_data[3]=0x01;
 send_data[4]=shiwaiji_xuanze;
 send_data[5]=0x06;
 send_data[6]=0x00;
 for(i=0;i<6;i++)
	 send_data[6]=send_data[6]+send_data[i];
 send_data[7]=0xfd;
 send_flag=1;

 for(i=0;i<200;i++)
 {
  if(immediate_data[3]==0x01&&immediate_data[4]==send_data[4]&&immediate_data[5]==0x06)
   flag=2;
 }
   if(flag==2)
   {
	CTimeDialog dlg;
	dlg.DoModal();
   }
}

void CModem3Dlg::OnRongyebeng() 
{
	// TODO: Add your command handler code here
	CRongyebengDialog dlg;
	dlg.DoModal();
	
}



void CModem3Dlg::OnLishikongtiao() 
{
	// TODO: Add your command handler code here
	     
		CLishiDialog dlg;
        dlg.GetModem3Dlg(this);
		kong_re=1;
	    dlg.DoModal();
}



void CModem3Dlg::OnLishireshuei() 
{
	// TODO: Add your command handler code here
	CLishiDialog dlg;
    dlg.GetModem3Dlg(this);
    kong_re=2;
	dlg.DoModal();
}

void CModem3Dlg::OnJiejing() 
{
	// TODO: Add your command handler code here

 unsigned char i,flag;
 flag=2;
 
 send_data[0]=0xf7;
 send_data[1]=0xf8;
 send_data[2]=0x04;
 send_data[3]=0x01;
 send_data[4]=shiwaiji_xuanze;
 send_data[5]=0x08;
 send_data[6]=0x00;
 for(i=0;i<6;i++)
	 send_data[6]=send_data[6]+send_data[i];
 send_data[7]=0xfd;
 send_flag=1;

 for(i=0;i<200;i++)
 {
  if(immediate_data[3]==0x01&&immediate_data[4]==send_data[4]&&immediate_data[5]==0x08)
   flag=2;
 }

 if(flag==2)
 {
	CJiebingDialog dlg;
	dlg.DoModal();
	}

}

void CModem3Dlg::OnBuchang() 
{
	// TODO: Add your command handler code here
CBuchangDialog dlg;
dlg.DoModal();	
}





void CModem3Dlg::OnReshuei() 
{
	// TODO: Add your command handler code here
 unsigned char i,flag;
 flag=2;
 
 send_data[0]=0xf7;
 send_data[1]=0xf8;
 send_data[2]=0x04;
 send_data[3]=0x01;
 send_data[4]=shiwaiji_xuanze;
 send_data[5]=0x08;
 send_data[6]=0x00;
 for(i=0;i<6;i++)
	 send_data[6]=send_data[6]+send_data[i];
 send_data[7]=0xfd;
 send_flag=1;

 for(i=0;i<200;i++)
 {
  if(immediate_data[3]==0x01&&immediate_data[4]==send_data[4]&&immediate_data[5]==0x14)
   flag=2;
 }
  if(flag==2)
  {
	CReshueiDialog dlg;
	dlg.DoModal();
  }
}


void CModem3Dlg::OnNenghao() 
{
	// TODO: Add your command handler code here
	CNenghaoDialog dlg;
	dlg.DoModal();
}

void CModem3Dlg::OnSize(UINT nType, int cx, int cy) 
{   
	CDialog::OnSize(nType, cx, cy);
	draw_flag=0;//很重要
	ye1=0;
	ye2=0;
	// TODO: Add your message handler code here
	
}
//自动控制命令
void CModem3Dlg::OnKtkbut() 
{
 // TODO: Add your control notification handler code here

 unsigned char i;
 send_data[0]=0xf7;
 send_data[1]=0xf8;
 send_data[2]=0x07;
 send_data[3]=0x01;
 send_data[4]=shiwaiji_xuanze;
 send_data[5]=0x3E;
 send_data[6]=0x45;                        //自动设温取消,防动取消
 for(i=0;i<6;i++)
	 send_data[6]=send_data[6]+send_data[i];
 send_data[7]=0x00;
 send_data[8]=0x00;
 send_data[9]=0x00;
 for(i=2;i<9;i++)
	 send_data[9]=+send_data[i];
 send_data[10]=0xfd;
 send_flag=1;

 	
}

/****************************************************************/



CScrollBar* CModem3Dlg::GetScrollBarCtrl(int nBar) const
{
	// TODO: Add your specialized code here and/or call the base class
	
	return CDialog::GetScrollBarCtrl(nBar);
}

int CModem3Dlg::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CDialog::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here
	if (!m_DialogBar.Create(this, IDD_DIALOG1, WS_CHILD | WS_VISIBLE | CBRS_TOP
   | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC,IDD_DIALOG1))
	{
		TRACE0("Failed to create Dialog bar\n");
		return -1;      // fail to create
	}
    //m_DialogBar.EnableDocking(CBRS_ALIGN_TOP);
     //m_ToolBar.EnableDocking(CBRS_ALIGN_ANY);
	//EnableDocking(CBRS_ALIGN_ANY);
	//DockControlBar(&m_ToolBar);
	return 0;
}